.386
.model flat, stdcall
option casemap:none

includelib "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\kernel32.lib"

STD_OUTPUT_HANDLE EQU -11

EXTERN GetStdHandle@4:PROC
EXTERN WriteConsoleA@20:PROC
EXTERN ExitProcess@4:PROC

.data
outputHW db "Hello, World ASM!", 0ah, 0h
stringLen dd 18
consoleHD dd ?
bytesWritten dd ?

.code

start PROC

push STD_OUTPUT_HANDLE
call GetStdHandle@4
mov consoleHD, eax

pushad
push 0
push offset bytesWritten
push stringLen
push offset outputHW
push consoleHD
call WriteConsoleA@20
popad

push 10
call ExitProcess@4

start ENDP

end